// import axios from 'axios'

// 1.get请求
// axios
//   .get('http://httpbin.org/get', {
//     params: {
//       name: 'Alex',
//       age: 19
//     }
//   })
//   .then((res) => {
//     console.log(res)
//   })

// 2.post请求
// 发送 POST 请求
// axios
//   .post('http://httpbin.org/post', {
//     firstName: 'Fred',
//     lastName: 'Flintstone'
//   })
//   .then((res) => {
//     console.log(res)
//   })

// 另一种写法
// axios({
//   method: 'post',
//   url: 'http://httpbin.org/post',
//   data: {
//     firstName: 'Fred',
//     lastName: 'Flintstone'
//   }
// }).then((res) => {
//   console.log(res)
// })

// 3. axios全局默认配置
// axios.defaults.baseURL = 'http://httpbin.org'
// axios.defaults.timeout = 10000
// axios.defaults.headers = {}

// 4. axios局部配置
// axios
//   .post('/get', {
//     params: {
//       name: 'Fred',
//       age: 19
//     },
//     // 单个请求局部配置
//     timeout: 2000
//   })
//   .then((res) => {
//     console.log(res)
//   })

// 5. axios.all 多个请求一起返回
// axios
//   .all([
//     axios.get('/get', {
//       params: {
//         name: 'Alex',
//         age: 19
//       },
//       // 单个请求局部配置
//       timeout: 2000
//     }),
//     axios.post('/post', {
//       data: {
//         name: 'Jack',
//         age: 20
//       }
//     })
//   ])
//   .then((res) => {
//     console.log(res)
//   })

// // 6. axios拦截器
// // 6.1 请求拦截器
// // axios.interceptors.request.use(fn1,fn2)
// // fun1：请求发送成功会执行的函数
// // fun2：请求发送失败会执行的函数
// axios.interceptors.request.use(
//   (config) => {
//     // 想做的一些操作
//     // 1.给请求添加token
//     // 2.执行isLoding动画
//     // ...
//     console.log('请求成功的拦截')

//     return config
//   },
//   (err) => {
//     console.log('请求发生错误', err)
//   }
// )

// // 6.2 响应拦截器
// // axios.interceptors.response.use(fn1,fn2)
// // fun1：响应成功会执行的函数(状态码：2xx)
// // fun2：响应失败会执行的函数
// axios.interceptors.response.use(
//   (config) => {
//     // 响应成功的拦截
//     return config
//   },
//   (err) => {
//     // 响应失败的拦截
//     console.log('请求发生错误', err)
//   }
// )

// 7.
